﻿module Space
open System

type pClass =
    | Minshara
    | Rock
    | Jovian

    
type Planet(name : string, pclass : pClass, composition : List<string>, size : float, systemname : string) = class
        let mutable volume : float = 0.0
        let cube x = x * x * x
        let pi = sin
        //do
            //volume = (3/4) * System.Math.PI * Cube(x)

        member x.name = name
        member x.pclass : pClass = pclass
        member x.composition = composition
        member x.size = size
end

type Starsystem(systemname : string) = class
    let mutable planetList : ResizeArray<Planet> = new ResizeArray<Planet>()
    let mutable circumference : float = 0.0;
    member c.Planets with get() = planetList and set(planet) = planetList <- planet 
    member c.Name : string = systemname
end
